package com.smedi.ismedi.constructionproject.core.domain.aggregatemodel.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.time.LocalDate;
import java.util.List;

/**
 * 通知公告基础信息
 *
 * @author jiangqinxuan
 * &#064;date  2021/07/26
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class ProjectQuery {
    /**
     * id
     */
    private Long id;

    /**
     * id(范围)
     */
    private List<Long> ids;

    /**
     * 项目状态
     */
    private String projectStatus;

    /**
     * 组织id
     */
    private Long hrOrganizationId;

    /**
     * 项目名称/项目编码/项目经理
     */
    private String codeOrManagerOrName;

    /**
     * 项目类别
     */
    private String projectCategory;

    /**
     * 合同工期 开始时间（大于等于）
     */
    private LocalDate actualDurationBeginGe;

    /**
     * 合同工期 结束时间（小于等于）
     */
    private LocalDate actualDurationEndLe;

    /**
     * 组织id(范围)
     */
    private List<Long> hrOrganizationIds;

    /**
     * 项目状态(范围)
     */
    private List<String> projectStatuses;

    /**
     * 组织简称
     */
    private String organizationShortName;

    /**
     * 是否根据当前登录人过滤
     */
    private Boolean byAuthenticationFilter;

    /**
     * 是否有监控摄像
     */
    private Boolean hasVideoMonitor;

    /**
     * epc类型
     */
    private String epcType;

    /**
     * epc类型
     */
    private List<String> epcTypes;

    /**
     * 视频监控类型
     */
    private String monitorType;

    /**
     * 视频监控类型(范围)
     */
    private List<String> monitorTypes;

    /**
     * 每页行数（分页）
     */
    private long size;

    /**
     * 当前页（分页）
     */
    private long current;

    /**
     * 项目是否在沪
     * */
    private Boolean inShanghai;
}